#ifndef __DATA_TYPE_H__
#define __DATA_TYPE_H__

#include "algorithm_type/all_type.h"
#include <cmath>
#include <limits>
#include <list>
#include <map>
#include <memory>
#include <pcl/conversions.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl_conversions/pcl_conversions.h>
#include <string>
#include <unordered_map>
#include <vector>
namespace perception
{
    struct PreprocessData
    {
        LidarDataInType data_in;
        LidarPoint no_ground_points;
        LidarPoint ground_points;
    };
    struct LidarCellsData
    {
        LidarPoint data_in;
        std::vector<std::vector<algorithm::data_cell>> lidar_cells;
        std::vector<algorithm::LidarObject> lidar_objs;
    };
    struct MainData
    {
        Localization loc;
        VehicleStatus vs;
        LidarDataInType lidar_points;

        PreprocessData preprocess_data_;
        LidarCellsData lidar_cells_data_;
    };

    // } //lidar_cells
} // perception
#endif